package com.xinli.business.domain;

import java.math.BigDecimal;
import java.util.Date;
import java.util.List;

import com.baomidou.mybatisplus.annotation.TableField;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.xinli.common.annotation.Excel;
import com.xinli.common.core.domain.BaseEntity;
import lombok.Data;
import lombok.EqualsAndHashCode;

/**
 * 咨询师对象 ft_member
 *
 * @author ruoyi
 * @date 2025-04-10
 */
@TableName(value = "ft_member")
public class FtMember extends BaseEntity {
    private static final long serialVersionUID = 1L;

    /**
     * $column.columnComment
     */
    @TableId(type = IdType.ASSIGN_ID)
    private Long memberId;

    /**
     * "GUID"
     */
    @Excel(name = "GUID")
    private String guid;

    /**
     * "用户组ID"
     */
    @Excel(name = "用户组ID")
    private Long groupId;

    /**
     * "机构代码"
     */
    @Excel(name = "机构代码")
    private String unitId;

    /**
     * "机构名称"
     */
    @Excel(name = "机构名称")
    private String unitName;

    /**
     * "最后选择的专业级别"
     */
    @Excel(name = "最后选择的专业级别")
    private Long lastMajorId;

    /**
     * "可用的专业id,多个逗号分隔"
     */
    @Excel(name = "可用的专业id,多个逗号分隔")
    private String availableMajorId;

    /**
     * "昵称"
     */
    @Excel(name = "昵称")
    private String nickName;

    /**
     * "姓名"
     */
    @Excel(name = "姓名")
    private String name;

    /**
     * "账号"
     */
    @Excel(name = "账号")
    private String accountName;

    /**
     * "密码"
     */
    @Excel(name = "密码")
    private String password;

    /**
     * "联系方式"
     */
    @Excel(name = "联系方式")
    private String phone;

    /**
     * "备用手机号1"
     */
    @Excel(name = "备用手机号1")
    private String phone1;

    /**
     * "备用手机号2"
     */
    @Excel(name = "备用手机号2")
    private String phone2;

    /**
     * "个人简介"
     */
    @Excel(name = "个人简介")
    private String briefIntroduction;

    /**
     * "等级"
     */
    @Excel(name = "等级")
    private Long level;

    /**
     * "用户性别"
     */
    @Excel(name = "用户性别", readConverterExp = "0=男,1=女,2=未知")
    private String sex;

    /**
     * "生日"
     */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @Excel(name = "生日", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss")
    private Date birthday;

    /**
     * "邮箱"
     */
    @Excel(name = "邮箱")
    private String email;

    /**
     * "是否禁言"
     */
    @Excel(name = "是否禁言")
    private String isMute;

    /**
     * "地址"
     */
    @Excel(name = "地址")
    private String address;

    /**
     * "身份证"
     */
    @Excel(name = "身份证")
    private String idCard;

    /**
     * "头像地址"
     */
    @Excel(name = "头像地址")
    private String avatar;

    /**
     * "头像ID"
     */
    @Excel(name = "头像ID")
    private Long avatarId;

    /**
     * "头像资源ID"
     */
    @Excel(name = "头像资源ID")
    private Long avatarResId;

    /**
     * "是否是vip(0否1是)"
     */
    @Excel(name = "是否是vip(0否1是)")
    private String isVip;

    /**
     * "到期时间"
     */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @Excel(name = "到期时间", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss")
    private Date expiryTime;

    /**
     * "会员类型(0非会员1月度2季度3年度)"
     */
    @Excel(name = "会员类型(0非会员1月度2季度3年度)")
    private String vipType;

    /**
     * "状态"
     */
    @Excel(name = "状态", readConverterExp = "0=正常,1=停用")
    private String status;

    /**
     * "最后登录IP"
     */
    @Excel(name = "最后登录IP")
    private String loginIp;

    /**
     * "最后登录时间"
     */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @Excel(name = "最后登录时间", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss")
    private Date loginDate;

    /**
     * "登录次数"
     */
    @Excel(name = "登录次数")
    private Long loginNum;

    /**
     * "观看视频次数"
     */
    @Excel(name = "观看视频次数")
    private Long videoNum;

    /**
     * "观看视频时长"
     */
    @Excel(name = "观看视频时长")
    private Long videoDuration;

    /**
     * "顺序"
     */
    @Excel(name = "顺序")
    private Long sort;

    /**
     * "会员点赞的试题ID"
     */
    @Excel(name = "会员点赞的试题ID")
    private String starQuesIds;

    /**
     * "会员踩的试题ID"
     */
    @Excel(name = "会员踩的试题ID")
    private String stepQuesIds;

    /**
     * "积分"
     */
    @Excel(name = "积分")
    private Long integral;

    /**
     * "签到次数"
     */
    @Excel(name = "签到次数")
    private Long signNum;

    /**
     * "省份"
     */
    @Excel(name = "省份")
    private String province;

    /**
     * "城市"
     */
    @Excel(name = "城市")
    private String city;

    /**
     * "签名"
     */
    @Excel(name = "签名")
    private String intro;

    /**
     * "专业资质
     * "
     */
    @Excel(name = "专业资质")
    private String proQualifications;

    /**
     * "补充说明"
     */
    @Excel(name = "补充说明")
    private String expertiseNotes;

    /**
     * "擅长领域人群
     * "
     */
    @Excel(name = "擅长领域人群 ")
    private String expertiseDemographics;

    /**
     * "擅长领域"
     */
    @Excel(name = "擅长领域", readConverterExp = "议=题")
    private String expertiseTopics;

    /**
     * "擅长领域"
     */
    @Excel(name = "擅长领域", readConverterExp = "流=派")
    private String expertiseGenres;

    /**
     * "教育背景"
     */
    @Excel(name = "教育背景")
    private String education;

    /**
     * "职业照"
     */
    @Excel(name = "职业照")
    private String profilePhotoUrl;

    /**
     * "资质证书"
     */
    @Excel(name = "资质证书")
    private String certificateUrl;

    /**
     * "受训经历"
     */
    @Excel(name = "受训经历")
    private String trainingExperience;

    /**
     * "受训时长"
     */
    @Excel(name = "受训时长")
    private String trainingDuration;

    /**
     * "个案时长/咨询时长"
     */
    @Excel(name = "个案时长/咨询时长")
    private String caseDuration;

    /**
     * "个案/咨询文件"
     */
    @Excel(name = "个案/咨询文件")
    private String caseFiles;

    /**
     * "督导时长"
     */
    @Excel(name = "督导时长")
    private String supervisionDuration;

    /**
     * "督导文件"
     */
    @Excel(name = "督导文件")
    private String supervisionFiles;

    /**
     * "从业年限"
     */
    @Excel(name = "从业年限")
    private String yearsOfExperience;

    /**
     * "部门(机构)Id"
     */
    @Excel(name = "部门(机构)Id")
    private Long deptId;

    /**
     * "App端微信openid"
     */
    @Excel(name = "App端微信openid")
    private String openid;

    /**
     * "小程序端微信openid"
     */
    @Excel(name = "小程序端微信openid")
    public String openId;

    /**
     * "各端微信登录统一用户标识"
     */
    @Excel(name = "各端微信登录统一用户标识")
    private String unionId;

    /**
     * "极光推送用户标识"
     */
    @Excel(name = "极光推送用户标识")
    private String registrationId;

    /**
     * "咨询师主页设置的价格"
     */
    @Excel(name = "咨询师主页设置的价格")
    private BigDecimal price;

    /**
     * "身份"
     */
    @Excel(name = "身份")
    private String consultantTitle;


    /**
     * "入驻时间"
     */
    @Excel(name = "入驻时间")
    private Date consultantTime;






    /**
     * "最低价格"
     */
    @TableField(exist = false)
    private BigDecimal minPrice;

    /**
     * "最高价格"
     */
    @TableField(exist = false)
    private BigDecimal maxPrice;


    /**
     * "1 是  0 否"
     */
    @TableField(exist = false)
    @Excel(name = "是否免费")
    private String isFree;
    /**
     * 最早预约时间
     */
    @Excel(name = "最早预约时间")
    @TableField(exist = false)
    private String earliestTime;



    /**
     * "订单数量"
     */
    @TableField(exist = false)
    private Long orderNum;




    /**
     * "审核列表"
     */
    @TableField(exist = false)
    private  List<ConsultantApplication> checkList;

    public Long getMemberId() {
        return memberId;
    }

    public void setMemberId(Long memberId) {
        this.memberId = memberId;
    }

    public String getGuid() {
        return guid;
    }

    public void setGuid(String guid) {
        this.guid = guid;
    }

    public Long getGroupId() {
        return groupId;
    }

    public void setGroupId(Long groupId) {
        this.groupId = groupId;
    }

    public String getUnitId() {
        return unitId;
    }

    public void setUnitId(String unitId) {
        this.unitId = unitId;
    }

    public String getUnitName() {
        return unitName;
    }

    public void setUnitName(String unitName) {
        this.unitName = unitName;
    }

    public Long getLastMajorId() {
        return lastMajorId;
    }

    public void setLastMajorId(Long lastMajorId) {
        this.lastMajorId = lastMajorId;
    }

    public String getAvailableMajorId() {
        return availableMajorId;
    }

    public void setAvailableMajorId(String availableMajorId) {
        this.availableMajorId = availableMajorId;
    }

    public String getNickName() {
        return nickName;
    }

    public void setNickName(String nickName) {
        this.nickName = nickName;
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public String getAccountName() {
        return accountName;
    }

    public void setAccountName(String accountName) {
        this.accountName = accountName;
    }

    public String getPassword() {
        return password;
    }

    public void setPassword(String password) {
        this.password = password;
    }

    public String getPhone() {
        return phone;
    }

    public void setPhone(String phone) {
        this.phone = phone;
    }

    public String getPhone1() {
        return phone1;
    }

    public void setPhone1(String phone1) {
        this.phone1 = phone1;
    }

    public String getPhone2() {
        return phone2;
    }

    public void setPhone2(String phone2) {
        this.phone2 = phone2;
    }

    public String getBriefIntroduction() {
        return briefIntroduction;
    }

    public void setBriefIntroduction(String briefIntroduction) {
        this.briefIntroduction = briefIntroduction;
    }

    public Long getLevel() {
        return level;
    }

    public void setLevel(Long level) {
        this.level = level;
    }

    public String getSex() {
        return sex;
    }

    public void setSex(String sex) {
        this.sex = sex;
    }

    public Date getBirthday() {
        return birthday;
    }

    public void setBirthday(Date birthday) {
        this.birthday = birthday;
    }

    public String getEmail() {
        return email;
    }

    public void setEmail(String email) {
        this.email = email;
    }

    public String getIsMute() {
        return isMute;
    }

    public void setIsMute(String isMute) {
        this.isMute = isMute;
    }

    public String getAddress() {
        return address;
    }

    public void setAddress(String address) {
        this.address = address;
    }

    public String getIdCard() {
        return idCard;
    }

    public void setIdCard(String idCard) {
        this.idCard = idCard;
    }

    public String getAvatar() {
        return avatar;
    }

    public void setAvatar(String avatar) {
        this.avatar = avatar;
    }

    public Long getAvatarId() {
        return avatarId;
    }

    public void setAvatarId(Long avatarId) {
        this.avatarId = avatarId;
    }

    public Long getAvatarResId() {
        return avatarResId;
    }

    public void setAvatarResId(Long avatarResId) {
        this.avatarResId = avatarResId;
    }

    public String getIsVip() {
        return isVip;
    }

    public void setIsVip(String isVip) {
        this.isVip = isVip;
    }

    public Date getExpiryTime() {
        return expiryTime;
    }

    public void setExpiryTime(Date expiryTime) {
        this.expiryTime = expiryTime;
    }

    public String getVipType() {
        return vipType;
    }

    public void setVipType(String vipType) {
        this.vipType = vipType;
    }

    public String getStatus() {
        return status;
    }

    public void setStatus(String status) {
        this.status = status;
    }

    public String getLoginIp() {
        return loginIp;
    }

    public void setLoginIp(String loginIp) {
        this.loginIp = loginIp;
    }

    public Date getLoginDate() {
        return loginDate;
    }

    public void setLoginDate(Date loginDate) {
        this.loginDate = loginDate;
    }

    public Long getLoginNum() {
        return loginNum;
    }

    public void setLoginNum(Long loginNum) {
        this.loginNum = loginNum;
    }

    public Long getVideoNum() {
        return videoNum;
    }

    public void setVideoNum(Long videoNum) {
        this.videoNum = videoNum;
    }

    public Long getVideoDuration() {
        return videoDuration;
    }

    public void setVideoDuration(Long videoDuration) {
        this.videoDuration = videoDuration;
    }

    public Long getSort() {
        return sort;
    }

    public void setSort(Long sort) {
        this.sort = sort;
    }

    public String getStarQuesIds() {
        return starQuesIds;
    }

    public void setStarQuesIds(String starQuesIds) {
        this.starQuesIds = starQuesIds;
    }

    public String getStepQuesIds() {
        return stepQuesIds;
    }

    public void setStepQuesIds(String stepQuesIds) {
        this.stepQuesIds = stepQuesIds;
    }

    public Long getIntegral() {
        return integral;
    }

    public void setIntegral(Long integral) {
        this.integral = integral;
    }

    public Long getSignNum() {
        return signNum;
    }

    public void setSignNum(Long signNum) {
        this.signNum = signNum;
    }

    public String getProvince() {
        return province;
    }

    public void setProvince(String province) {
        this.province = province;
    }

    public String getCity() {
        return city;
    }

    public void setCity(String city) {
        this.city = city;
    }

    public String getIntro() {
        return intro;
    }

    public void setIntro(String intro) {
        this.intro = intro;
    }

    public String getProQualifications() {
        return proQualifications;
    }

    public void setProQualifications(String proQualifications) {
        this.proQualifications = proQualifications;
    }

    public String getExpertiseNotes() {
        return expertiseNotes;
    }

    public void setExpertiseNotes(String expertiseNotes) {
        this.expertiseNotes = expertiseNotes;
    }

    public String getExpertiseDemographics() {
        return expertiseDemographics;
    }

    public void setExpertiseDemographics(String expertiseDemographics) {
        this.expertiseDemographics = expertiseDemographics;
    }

    public String getExpertiseTopics() {
        return expertiseTopics;
    }

    public void setExpertiseTopics(String expertiseTopics) {
        this.expertiseTopics = expertiseTopics;
    }

    public String getExpertiseGenres() {
        return expertiseGenres;
    }

    public void setExpertiseGenres(String expertiseGenres) {
        this.expertiseGenres = expertiseGenres;
    }

    public String getEducation() {
        return education;
    }

    public void setEducation(String education) {
        this.education = education;
    }

    public String getProfilePhotoUrl() {
        return profilePhotoUrl;
    }

    public void setProfilePhotoUrl(String profilePhotoUrl) {
        this.profilePhotoUrl = profilePhotoUrl;
    }

    public String getCertificateUrl() {
        return certificateUrl;
    }

    public void setCertificateUrl(String certificateUrl) {
        this.certificateUrl = certificateUrl;
    }

    public String getTrainingExperience() {
        return trainingExperience;
    }

    public void setTrainingExperience(String trainingExperience) {
        this.trainingExperience = trainingExperience;
    }

    public String getTrainingDuration() {
        return trainingDuration;
    }

    public void setTrainingDuration(String trainingDuration) {
        this.trainingDuration = trainingDuration;
    }

    public String getCaseDuration() {
        return caseDuration;
    }

    public void setCaseDuration(String caseDuration) {
        this.caseDuration = caseDuration;
    }

    public String getCaseFiles() {
        return caseFiles;
    }

    public void setCaseFiles(String caseFiles) {
        this.caseFiles = caseFiles;
    }

    public String getSupervisionDuration() {
        return supervisionDuration;
    }

    public void setSupervisionDuration(String supervisionDuration) {
        this.supervisionDuration = supervisionDuration;
    }

    public String getSupervisionFiles() {
        return supervisionFiles;
    }

    public void setSupervisionFiles(String supervisionFiles) {
        this.supervisionFiles = supervisionFiles;
    }

    public String getYearsOfExperience() {
        return yearsOfExperience;
    }

    public void setYearsOfExperience(String yearsOfExperience) {
        this.yearsOfExperience = yearsOfExperience;
    }

    public Long getDeptId() {
        return deptId;
    }

    public void setDeptId(Long deptId) {
        this.deptId = deptId;
    }

    public String getOpenid() {
        return openid;
    }

    public void setOpenid(String openid) {
        this.openid = openid;
    }

    public String getOpenId() {
        return openId;
    }

    public void setOpenId(String openId) {
        this.openId = openId;
    }

    public String getUnionId() {
        return unionId;
    }

    public void setUnionId(String unionId) {
        this.unionId = unionId;
    }

    public String getRegistrationId() {
        return registrationId;
    }

    public void setRegistrationId(String registrationId) {
        this.registrationId = registrationId;
    }

    public BigDecimal getPrice() {
        return price;
    }

    public void setPrice(BigDecimal price) {
        this.price = price;
    }

    public String getConsultantTitle() {
        return consultantTitle;
    }

    public void setConsultantTitle(String consultantTitle) {
        this.consultantTitle = consultantTitle;
    }

    public BigDecimal getMinPrice() {
        return minPrice;
    }

    public void setMinPrice(BigDecimal minPrice) {
        this.minPrice = minPrice;
    }

    public BigDecimal getMaxPrice() {
        return maxPrice;
    }

    public void setMaxPrice(BigDecimal maxPrice) {
        this.maxPrice = maxPrice;
    }

    public String getIsFree() {
        return isFree;
    }

    public void setIsFree(String isFree) {
        this.isFree = isFree;
    }

    public List<ConsultantApplication> getCheckList() {
        return checkList;
    }

    public void setCheckList(List<ConsultantApplication> checkList) {
        this.checkList = checkList;
    }

    public String getEarliestTime() {
        return earliestTime;
    }

    public void setEarliestTime(String earliestTime) {
        this.earliestTime = earliestTime;
    }

    public Long getOrderNum() {
        return orderNum;
    }

    public void setOrderNum(Long orderNum) {
        this.orderNum = orderNum;
    }


    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    public Date getConsultantTime() {
        return consultantTime;
    }
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    public void setConsultantTime(Date consultantTime) {
        this.consultantTime = consultantTime;
    }
}
